第一步:
在顶点着色器中,添加输出位置变量
char vShaderStr[] =
"#version 300 es \n"
"layout(location = 0) in vec4 vPosition; \n"
"out vec4 tranglePos;"
"void main() \n"
"{ \n"
" gl_Position = vPosition; \n"
" tranglePos=vPosition;"
"} \n";
第二步:
在片段着色器中,根据位置变量信息,设置颜色
char fShaderStr[] =
"#version 300 es \n"
"precision mediump float; \n"
"out vec4 fragColor; \n"
"in vec4 tranglePos;"
"void main() \n"
"{ \n"
" if(tranglePos.x>0.0)"
" fragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 ); \n"
" else"
" fragColor = vec4 ( 1.0, 1.0, 0.0, 1.0 ); \n"
"} \n";